package jcommand.event;

/**
 * List of constants that descript the keyboard event, mouse event and launch
 * application event. <br>
 * 
 * This class is only use for creating the {@link jcommand.Action} object.
 * 
 * @author Kenneth Lo
 * @see jcommand.Action
 * @since 1.0.0
 * 
 */
public class Event {

	/**
	 * The "key pressed" event. Pressing a key of a keyboard.
	 * 
	 * @since 1.0.0
	 * 
	 */
	public static final int KeyPress = 1;

	/**
	 * The "key release" event. Releasing a key of a keyboard.
	 * 
	 * @since 1.0.0
	 * 
	 */
	public static final int KeyRelease = 2;

	/**
	 * The "Mouse Move" event. Moving the mouse.
	 * 
	 * @since 1.0.0
	 */
	public static final int MouseMove = 3;

	/**
	 * The "Mouse Press" event. Pressing the button on the mouse.
	 * 
	 * @since 1.0.0
	 */
	public static final int MousePress = 4;

	/**
	 * The "Mouse Release" event. Releasing the button on the mouse.
	 * 
	 * @since 1.0.0
	 */
	public static final int MouseRelease = 5;

	/**
	 * The "Key Click" event. Pressing a key of a keyboard, then releasing the
	 * key.
	 * 
	 * @since 1.0.0
	 */
	public static final int KeyClick = 6;

	/**
	 * The "Type word" event. Tying the words by pressing and releasing the word
	 * one by one.
	 * 
	 * @since 1.0.0
	 */
	public static final int TypeWord = 7;

	/**
	 * The "Key Hold and Click" event. Holding a key and clicking the other key
	 * one and release the holding key.
	 * 
	 * @since 1.0.0
	 */
	public static final int KeyHoldAndClick = 8;

	/**
	 * The "Launch" event. Launch an application.
	 * 
	 * @see jcommand.event.Application
	 * @since 1.0.0
	 */
	public static final int Launch = 9;

	/**
	 * Sleep a period of time ms.
	 * 
	 * @since 1.0.0
	 */
	public static final int Sleep = 10;

	/**
	 * The "Mouse Press" and "Mouse Release" event. Pressing the button and
	 * release it.
	 * 
	 * @since 1.0.0
	 */
	public static final int MouseClick = 11;

	/**
	 * Text to speech
	 * <p>
	 * <i>This event is implement with using JSpeech</i>
	 * 
	 * @since 1.0.0
	 */
	public static final int TTS = 12;
}
